#include <vector>
const int N=201;
class Solution 
{
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 
     * @param m int整型vector<vector<>> 
     * @return int整型
     */
    
    bool vis[201]={0};
    int n,ret=0;
    int citys(vector<vector<int> >& m) 
    {
        n=m.size();

        for(int i=0;i<n;i++)
        {
            
            if(vis[i]==false)
            {
                vis[i]=true;
                ret++;
                dfs(m,i);
            }
        }
        return ret;
    }
    void dfs(vector<vector<int>>& m,int i)
    {
       for(int j=0;j<n;j++)
       {
        if(m[i][j]==1&&vis[j]==false)
        {
            vis[j]=true;
            dfs(m,j);
        }
       }
    }
};